<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Curve Control Creator &#8212; cmt  documentation</title>
    <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script src="../_static/jquery.js"></script>
    <script src="../_static/underscore.js"></script>
    <script src="../_static/doctools.js"></script>
    <script src="../_static/language_data.js"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Dependency Graph Expressions" href="../dge.html" />
    <link rel="prev" title="Swing Twist Decomposition" href="swingtwist.html" />
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js "></script>
<script type="text/javascript" src="../_static/js/jquery-fix.js "></script>
<script type="text/javascript" src="../_static/bootstrap-3.3.7/js/bootstrap.min.js "></script>
<script type="text/javascript" src="../_static/bootstrap-sphinx.js "></script>

  </head><body>

  <div id="navbar" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="../index.html">
          cmt</a>
        <span class="navbar-text navbar-version pull-left"><b></b></span>
      </div>

        <div class="collapse navbar-collapse nav-collapse">
          <ul class="nav navbar-nav">
            
            
              <li class="dropdown globaltoc-container">
  <a role="button"
     id="dLabelGlobalToc"
     data-toggle="dropdown"
     data-target="#"
     href="../index.html">Site <b class="caret"></b></a>
  <ul class="dropdown-menu globaltoc"
      role="menu"
      aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation Instructions</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../rigging.html">Rigging Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dge.html">Dependency Graph Expressions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../customwidgets.html">Custom Widgets</a></li>
</ul>
</ul>
</li>
              
                <li class="dropdown">
  <a role="button"
     id="dLabelLocalToc"
     data-toggle="dropdown"
     data-target="#"
     href="#">Page <b class="caret"></b></a>
  <ul class="dropdown-menu localtoc"
      role="menu"
      aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Curve Control Creator</a><ul>
<li><a class="reference internal" href="#example-usage">Example Usage</a><ul>
<li><a class="reference internal" href="#api">API</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</ul>
</li>
              
            
            
              
                
  <li>
    <a href="swingtwist.html" title="Previous Chapter: Swing Twist Decomposition"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Swing Twist D...</span>
    </a>
  </li>
  <li>
    <a href="../dge.html" title="Next Chapter: Dependency Graph Expressions"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Dependency Gr... &raquo;</span>
    </a>
  </li>
              
            
            
            
            
              <li class="hidden-sm">
<div id="sourcelink">
  <a href="../_sources/rig/control.rst.txt"
     rel="nofollow">Source</a>
</div></li>
            
          </ul>

          
            
<form class="navbar-form navbar-right" action="../search.html" method="get">
 <div class="form-group">
  <input type="text" name="q" class="form-control" placeholder="Search" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
          
        </div>
    </div>
  </div>

<div class="container">
  <div class="row">
    <div class="body col-md-12 content" role="main">
      
  <div class="section" id="module-cmt.rig.control">
<span id="curve-control-creator"></span><h1>Curve Control Creator<a class="headerlink" href="#module-cmt.rig.control" title="Permalink to this headline">¶</a></h1>
<p>The control module provides functions and a graphical interface to create,
manipulate, import and export curve controls.</p>
<img alt="../_images/control.png" src="../_images/control.png" />
<p>The APIs provided allow curve shapes to be abstracted from transforms.  This allows the
creation of rigging constructs independent of actual curve shapes which can vary
greatly from asset to asset.  The general workflow would be to create rig controls
with transforms only without shapes.  After the rigs are created, add shapes to the
transforms with this tool/API.  The shapes can then be serialized to disk to load back
in an automated build.</p>
<div class="section" id="example-usage">
<h2>Example Usage<a class="headerlink" href="#example-usage" title="Permalink to this headline">¶</a></h2>
<p>The Control Creator tool can be accessed in the cmt menu:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">CMT</span> <span class="o">&gt;</span> <span class="n">Rigging</span> <span class="o">&gt;</span> <span class="n">Control</span> <span class="n">Creator</span>
</pre></div>
</div>
<div class="section" id="api">
<h3>API<a class="headerlink" href="#api" title="Permalink to this headline">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cmt.rig.control</span> <span class="k">as</span> <span class="nn">control</span>
<span class="n">curve</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">circle</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>

<span class="c1"># Save the curve to disk</span>
<span class="n">file_path</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/control.json&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">cmds</span><span class="o">.</span><span class="n">workspace</span><span class="p">(</span><span class="n">q</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">rd</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
<span class="n">control</span><span class="o">.</span><span class="n">export_curves</span><span class="p">([</span><span class="n">curve</span><span class="p">],</span> <span class="n">file_path</span><span class="p">)</span>

<span class="c1"># Load the curve back in</span>
<span class="n">cmds</span><span class="o">.</span><span class="n">file</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">f</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">control</span><span class="o">.</span><span class="n">import_curves</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>

<span class="c1"># Create another copy of the curve</span>
<span class="n">control</span><span class="o">.</span><span class="n">import_new_curves</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>

<span class="c1"># Create the curve on the selected transform</span>
<span class="n">node</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">createNode</span><span class="p">(</span><span class="s1">&#39;transform&#39;</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s1">&#39;newNode&#39;</span><span class="p">)</span>
<span class="n">control</span><span class="o">.</span><span class="n">import_curves_on_selected</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>

<span class="c1"># Manipulate the curve before creating</span>
<span class="n">curve</span> <span class="o">=</span> <span class="n">control</span><span class="o">.</span><span class="n">load_curves</span><span class="p">(</span><span class="n">file_path</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">curve</span><span class="o">.</span><span class="n">scale_by</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">curve</span><span class="o">.</span><span class="n">set_rotation</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">60</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">curve</span><span class="o">.</span><span class="n">set_translation</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">new_node</span> <span class="o">=</span> <span class="n">curve</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="s2">&quot;anotherNode&quot;</span><span class="p">)</span>

<span class="c1"># Mirror the curve</span>
<span class="n">mirrored</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">createNode</span><span class="p">(</span><span class="s2">&quot;transform&quot;</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;mirroredNode&quot;</span><span class="p">)</span>
<span class="n">cmds</span><span class="o">.</span><span class="n">setAttr</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">.t&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">mirrored</span><span class="p">),</span> <span class="o">-</span><span class="mi">10</span><span class="p">,</span> <span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">cmds</span><span class="o">.</span><span class="n">setAttr</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">.r&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">mirrored</span><span class="p">),</span> <span class="o">-</span><span class="mi">55</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">63</span><span class="p">)</span>
<span class="n">control</span><span class="o">.</span><span class="n">mirror_curve</span><span class="p">(</span><span class="n">new_node</span><span class="p">,</span> <span class="n">mirrored</span><span class="p">)</span>
</pre></div>
</div>
<dl class="py class">
<dt id="cmt.rig.control.CurveShape">
<em class="property">class </em><code class="sig-prename descclassname">cmt.rig.control.</code><code class="sig-name descname">CurveShape</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">transform</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">cvs</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">degree</span><span class="o">=</span><span class="default_value">3</span></em>, <em class="sig-param"><span class="n">form</span><span class="o">=</span><span class="default_value">0</span></em>, <em class="sig-param"><span class="n">knots</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">color</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape" title="Permalink to this definition">¶</a></dt>
<dd><p>Represents the data required to build a nurbs curve shape</p>
<dl class="py method">
<dt id="cmt.rig.control.CurveShape.create">
<code class="sig-name descname">create</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">transform</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">as_controller</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape.create" title="Permalink to this definition">¶</a></dt>
<dd><p>Create a curve.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>transform</strong> – Name of the transform to create the curve shape under.
If the transform does not exist, it will be created.</p></li>
<li><p><strong>as_controller</strong> – True to mark the curve transform as a controller.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The transform of the new curve shapes.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="cmt.rig.control.CurveShape.rotate_by">
<code class="sig-name descname">rotate_by</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span></em>, <em class="sig-param"><span class="n">y</span></em>, <em class="sig-param"><span class="n">z</span></em>, <em class="sig-param"><span class="n">local</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape.rotate_by"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape.rotate_by" title="Permalink to this definition">¶</a></dt>
<dd><p>Rotate the curve cvs by the given euler rotation values</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> – Rotate X</p></li>
<li><p><strong>y</strong> – Rotate Y</p></li>
<li><p><strong>z</strong> – Rotate Z</p></li>
<li><p><strong>local</strong> – True for local space, False for world</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="cmt.rig.control.CurveShape.scale_by">
<code class="sig-name descname">scale_by</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span></em>, <em class="sig-param"><span class="n">y</span></em>, <em class="sig-param"><span class="n">z</span></em>, <em class="sig-param"><span class="n">local</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape.scale_by"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape.scale_by" title="Permalink to this definition">¶</a></dt>
<dd><p>Scale the curve cvs by the given amount.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> – Scale X</p></li>
<li><p><strong>y</strong> – Scale Y</p></li>
<li><p><strong>z</strong> – Scale Z</p></li>
<li><p><strong>local</strong> – True for local space, False for world</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="cmt.rig.control.CurveShape.set_rotation">
<code class="sig-name descname">set_rotation</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span></em>, <em class="sig-param"><span class="n">y</span></em>, <em class="sig-param"><span class="n">z</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape.set_rotation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape.set_rotation" title="Permalink to this definition">¶</a></dt>
<dd><p>Set the absolute rotation of the curve shape in euler rotations.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> – Rotate X</p></li>
<li><p><strong>y</strong> – Rotate Y</p></li>
<li><p><strong>z</strong> – Rotate Z</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="cmt.rig.control.CurveShape.set_scale">
<code class="sig-name descname">set_scale</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span></em>, <em class="sig-param"><span class="n">y</span></em>, <em class="sig-param"><span class="n">z</span></em>, <em class="sig-param"><span class="n">local</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape.set_scale"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape.set_scale" title="Permalink to this definition">¶</a></dt>
<dd><p>Set the absolute scale of the curve shape.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> – Scale X</p></li>
<li><p><strong>y</strong> – Scale Y</p></li>
<li><p><strong>z</strong> – Scale Z</p></li>
<li><p><strong>local</strong> – True for local space, False for world</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="cmt.rig.control.CurveShape.set_translation">
<code class="sig-name descname">set_translation</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span></em>, <em class="sig-param"><span class="n">y</span></em>, <em class="sig-param"><span class="n">z</span></em>, <em class="sig-param"><span class="n">local</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape.set_translation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape.set_translation" title="Permalink to this definition">¶</a></dt>
<dd><p>Set the absolute translation of the curve shape.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> – Translate X</p></li>
<li><p><strong>y</strong> – Translate Y</p></li>
<li><p><strong>z</strong> – Translate Z</p></li>
<li><p><strong>local</strong> – True for local space, False for world</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="cmt.rig.control.CurveShape.translate_by">
<code class="sig-name descname">translate_by</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span></em>, <em class="sig-param"><span class="n">y</span></em>, <em class="sig-param"><span class="n">z</span></em>, <em class="sig-param"><span class="n">local</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#CurveShape.translate_by"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.CurveShape.translate_by" title="Permalink to this definition">¶</a></dt>
<dd><p>Translate the curve cvs by the given values</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> – Translate X</p></li>
<li><p><strong>y</strong> – Translate Y</p></li>
<li><p><strong>z</strong> – Translate Z</p></li>
<li><p><strong>local</strong> – True for local space, False for world</p></li>
</ul>
</dd>
</dl>
</dd></dl>

</dd></dl>

<dl class="py function">
<dt id="cmt.rig.control.export_curves">
<code class="sig-prename descclassname">cmt.rig.control.</code><code class="sig-name descname">export_curves</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">controls</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">file_path</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#export_curves"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.export_curves" title="Permalink to this definition">¶</a></dt>
<dd><p>Serializes the given curves into the control library.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>controls</strong> – Optional list of controls to export. If no controls are specified,
the selected curves will be exported.</p></li>
<li><p><strong>file_path</strong> – File path to export to</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The exported list of ControlShapes.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt id="cmt.rig.control.import_curves_on_selected">
<code class="sig-prename descclassname">cmt.rig.control.</code><code class="sig-name descname">import_curves_on_selected</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">file_path</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">tag_as_controller</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#import_curves_on_selected"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.import_curves_on_selected" title="Permalink to this definition">¶</a></dt>
<dd><p>Imports a control shape from disk onto the selected transform.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file_path</strong> – Path to the control file.</p></li>
<li><p><strong>tag_as_controller</strong> – True to tag the curve transform as a controller</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The new curve transform</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt id="cmt.rig.control.import_new_curves">
<code class="sig-prename descclassname">cmt.rig.control.</code><code class="sig-name descname">import_new_curves</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">file_path</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">tag_as_controller</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#import_new_curves"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.import_new_curves" title="Permalink to this definition">¶</a></dt>
<dd><p>Imports control shapes from disk onto new transforms.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file_path</strong> – Path to the control file.</p></li>
<li><p><strong>tag_as_controller</strong> – True to tag the curve transform as a controller</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The new curve transforms</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt id="cmt.rig.control.load_curves">
<code class="sig-prename descclassname">cmt.rig.control.</code><code class="sig-name descname">load_curves</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">file_path</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#load_curves"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.load_curves" title="Permalink to this definition">¶</a></dt>
<dd><p>Load the CurveShape objects from disk.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>file_path</strong> – </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt id="cmt.rig.control.mirror_curve">
<code class="sig-prename descclassname">cmt.rig.control.</code><code class="sig-name descname">mirror_curve</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">source</span></em>, <em class="sig-param"><span class="n">destination</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/cmt/rig/control.html#mirror_curve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cmt.rig.control.mirror_curve" title="Permalink to this definition">¶</a></dt>
<dd><p>Mirrors the curve on source across the YZ plane to destination.</p>
<p>The cvs will be mirrored in world space no matter the transform of destination.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>source</strong> – Source transform</p></li>
<li><p><strong>destination</strong> – Destination transform</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The mirrored CurveShape object</p>
</dd>
</dl>
</dd></dl>

</div>
</div>
</div>


    </div>
      
  </div>
</div>
<footer class="footer">
  <div class="container">
    <p class="pull-right">
      <a href="#">Back to top</a>
      
    </p>
    <p>
        &copy; Copyright 2018, Chad Vernon.<br/>
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.1.2.<br/>
    </p>
  </div>
</footer>
  </body>
</html>